Q. ajax, fetch, axios의 공통점과 차이점을 설명해 주세요.
🧑🏻💻 Answer.
✅ 공통점
- AJAX, Fetch, Axios는 모두 JavaScript를 사용하여 웹 애플리케이션에서 서버와 통신하는 방법입니다. 각각의 방법에는 고유한 특징과 차이점이 있습니다.
✅ 차이점
Ajax는 XMLHttpRequest를 사용하기 때문에 콜백 함수를 사용하여 비동기 요청 및 응답을 처리합니다. 이 때문에 후속 처리 시 콜백 지옥 현상이나 에러 처리가 힘든 문제점이 있습니다.
Fetch API는 프로미스를 기반으로 비동기 요청 및 응답을 처리합니다. 따라서 Ajax에서 나타나는 콜백 지옥이나 에러 처리에 대한 문제점을 해결할 수 있습니다. 하지만 잘못된 url을 넘겼을 때 반환하는 에러의 경우 불리안 값을 반환하여 if 문을 활용하여 명시적 에러 처리를 추가로 해주어야 하는 경우가 있습니다.
Axios 또한 Fetch API와 마찬가지로 Promise 기반으로 비동기 요청 및 응답을 처리합니다. 이때 axio는 Fetch보다 더 다양한 메서드는 물론 모든 HTTP 에러를 프로미스로 반환하기 때문에 모든 에러를 catch에서 처리할 수 있어 훨씬 편리합니다.